package cc.lucien.demo210419;

/**
 * 【程序9】   
 * 题目：一个数如果恰好等于它的因子之和，这个数就称为 "完数 "。
 * 例如6=1＋2＋3.编程     找出1000以内的所有完数。   
 *
 * 分析：本题重点在于找出这个数的因子
 * 因子：n 能被 m 整除没有余数，则 m 是 n 的因子
 */
public class Demo09 {
    public static void main(String[] args) {
        System.out.println("1000以内的所有完数有：");
        for (int i = 1; i < 1000; i++) {
            //根据题意，这个数本身不算因子
            int sum = 0;
            for (int j = 1; j < i; j++) {
                if (i % j == 0)
                    sum += j;
            }
            if (sum == i)
                System.out.print(i + ", ");
        }
    }
}
